Computer Science at Kent GCspy: An Adaptable Heap Visualisation Framework
نویسندگان
چکیده
GCspy is an architectural framework for the collection, transmission, storage and replay of memory management behaviour. It makes new contributions to the understanding of the dynamic memory behaviour of programming languages (and especially object-oriented languages that make heavy demands on the performance of memory managers). GCspy’s architecture allows easy incorporation into any memory management system: it is not limited to garbage-collected languages. It requires only small changes to the system in which it is incorporated but provides a simple to use yet powerful data-gathering API. GCspy scales to allow very large heaps to be visualised effectively and efficiently. It allows already-running, local or remote, systems to be visualised and those systems to run at full speed outside the points at which data is gathered. GCspy’s visualisation tool presents this information in a number of novel ways. Deep understanding of program behaviour is essential to the design of the next generation of garbage collectors and explicit allocators. Until now no satisfactory tools have been available to assist the implementer in gaining an understanding of heap behaviour. GCspy has been demonstrated to be a practical solution to this dilemma. It has been used to analyse production Java virtual machines running applications of realistic size. Its use has revealed important insights into the interaction between application program and JVM and has led to the development of better garbage collectors.
منابع مشابه
GCspy port to SSCLI (Rotor)
With increasing importance and complexity of memory managers, it becomes more and more important for garbage collector (GC) developers to possess the right tools capable of helping them track GC behaviour. GCspy, an adaptable and easily portable visualisation framework, was developed to answer this issue. Our aim of porting GCspy to Rotor was motivated by the desire to provide Rotor with an eff...
متن کاملJamOLizer: Garbage Collection Visualizer in the JamVM
Garbage collection is a vital part of a virtual machine. However, the choice of garbage collector and its correct implementation is different for each type of system, especially real-time systems. It is hard to imagine what is happening internally within the garbage collector, which can lead to extremely fragmented systems or systems with degraded performance. GCspy [1] is a free visualization ...
متن کاملVisualization of Eiffel Garbage Collection with GCSpy
Increasingly many modern programming languages are turning to automatic reclamation, or garbage collection, to free up memory objects that are no longer needed. While there are many techniques known for detecting and collecting garbage, what remains a less well-known topic is how differing techniques perform in different application domains; a garbage collector that works well for a word proces...
متن کاملA Compacting Garbage Collector for Unidirectional Heaps
A unidirectional heap is a heap where all pointers go in one direction, e.g. from newer to older objects. For a strict functional language, such as Erlang, the heap may be arranged so that it is unidirectional. We here present a compacting garbage collection algorithm which utilizes the fact that a heap is unidirectional. Only one memory space is used in our algorithm. In fact, no extra memory ...
متن کاملA Compacting Garbage Collector for Erlang
By utilising the fact that all data in the heap in an Erlang implementation may be arranged so that all pointers go towards earlier allocated objects, a compacting garbage collection algorithm has been designed. In contrast to a copying garbage collection algorithm, only one memory space is used. In fact, no extra memory is used at all, not even any reserved bits within the cells. The algorithm...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009